#include <stdio.h>
#include <string.h>

// Arch Linux stack 8MB

// stack  栈空间：是用于交换数据，而不适用于大空间的申请
// stack 栈的发展方向
// 从高地址往低地址方向发展

void func()
{
    printf("func:\n");
    int a,b,c,d;
    printf("%p\n",&a);
    printf("%p\n",&b);
    printf("%p\n",&c);
    printf("%p\n",&d);
    return;
}

int main()
{
    printf("main:\n");
    int a,b,c,d;
    printf("%p\n",&a);
    printf("%p\n",&b);
    printf("%p\n",&c);
    printf("%p\n",&d);
    func();
    return 0;
}


# if 0
// heap  堆空间： 主要适用于大内存的申请使用
void func(int n)
{
    if(n == 0)
        return;
    else
        func(n -1);
}

int main()
{
//    char arr[1024*1024*8];
//    strcpy(arr,"China");
    func(1000000);

    printf("Hello World!\n");
    return 0;
}
#endif
